import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Esta clase representa un obstaculo.
 * @author Alcantar Noyola Cristian Andres
 * @author Sánchez Ovalle Daniel
 * @version 29-04-2013
 */
public abstract class Obstaculo extends Actor
{

    private Jugador chango;

    /**
     * Constructor de Obstaculo.
     * Asigna null a la variable chango.
     */
    public Obstaculo()
    {
        chango=null;
    }    

    /**
     * Este metodo verifica si el jugador se encuentra sobre el obstaculo.
     */
    public void buscaChango()
    {
        chango=(Jugador)this.getOneIntersectingObject(Jugador.class); 
    }

    /**
     * Metodo abstracto que verifica la posicion del jugador respecto del obstaculo.
     */
    public abstract void posicionChango();

    /**
     * Este metodo regresa la variable chango.
     * @return Este metodo regresa null si el obstaculo no ha encontrado al jugador.
     */
    public Jugador getJugador()
    {
        return chango;
    }
}
